home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.2 Development Libraries / SGI IRIX 6.2 Development Libraries.iso / dist / complib.idb / usr / share / catman / p_man / cat3 / complib / scfftm1du.z / scfftm1du
Text File  |  1996-03-14  |  7KB  |  133 lines

  1.  
  2.  
  3.  
  4. ssssccccffffffffttttmmmm1111dddduuuu,,,,ddddzzzzffffffffttttmmmm1111dddduuuu((((3333FFFF))))                                ssssccccffffffffttttmmmm1111dddduuuu,,,,ddddzzzzffffffffttttmmmm1111dddduuuu((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      ssssccccffffffffttttmmmm1111dddduuuu,,,, ddddzzzzffffffffttttmmmm1111dddduuuu ---- Multiple 1D, Real to Complex, Direct Fast Fourier
  10.      Transforms.
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSYYYYSSSS
  13.      _F_o_r_t_r_a_n :
  14.      ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee ssssccccffffffffttttmmmm1111dddduuuu(((( ssssiiiiggggnnnn,,,, nnnn,,,, pppp,,,, aaaarrrrrrrraaaayyyy,,,, iiiinnnncccc,,,, llllddddaaaa,,,, ccccooooeeeeffff ))))
  15.           iiiinnnntttteeeeggggeeeerrrr            ssssiiiiggggnnnn,,,, nnnn,,,, pppp,,,, iiiinnnncccc,,,, llllddddaaaa
  16.           rrrreeeeaaaallll               aaaarrrrrrrraaaayyyy((((llllddddaaaa,,,,pppp)))),,,, ccccooooeeeeffff((((nnnn++++11115555))))
  17.  
  18.      ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee ddddzzzzffffffffttttmmmm1111dddduuuu(((( ssssiiiiggggnnnn,,,, nnnn,,,, pppp,,,, aaaarrrrrrrraaaayyyy,,,, iiiinnnncccc,,,, llllddddaaaa,,,, ccccooooeeeeffff ))))
  19.           iiiinnnntttteeeeggggeeeerrrr            ssssiiiiggggnnnn,,,, nnnn,,,, pppp,,,, iiiinnnncccc,,,, llllddddaaaa
  20.           rrrreeeeaaaallll****8888             aaaarrrrrrrraaaayyyy((((llllddddaaaa,,,,pppp)))),,,, ccccooooeeeeffff((((nnnn++++11115555))))
  21.  
  22.  
  23.      _C :
  24.      ####iiiinnnncccclllluuuuddddeeee <<<<fffffffftttt....hhhh>>>>
  25.      iiiinnnntttt ssssccccffffffffttttmmmm1111dddduuuu (((( iiiinnnntttt ssssiiiiggggnnnn,,,, iiiinnnntttt nnnn,,,, iiiinnnntttt pppp,,,, ffffllllooooaaaatttt ****aaaarrrrrrrraaaayyyy,,,,
  26.                iiiinnnntttt iiiinnnncccc,,,, iiiinnnntttt llllddddaaaa,,,, ffffllllooooaaaatttt ****ccccooooeeeeffff))));;;;
  27.      iiiinnnntttt ddddzzzzffffffffttttmmmm1111dddduuuu (((( iiiinnnntttt ssssiiiiggggnnnn,,,, iiiinnnntttt nnnn,,,, iiiinnnntttt pppp,,,, ddddoooouuuubbbblllleeee ****aaaarrrrrrrraaaayyyy,,,,
  28.                iiiinnnntttt iiiinnnncccc,,,, iiiinnnntttt llllddddaaaa,,,, ddddoooouuuubbbblllleeee ****ccccooooeeeeffff))));;;;
  29.  
  30.  
  31. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  32.      ssssccccffffffffttttmmmm1111dddduuuu and ddddzzzzffffffffttttmmmm1111dddduuuu compute the complex Fourier transform of P real
  33.      sequences of N samples each. The k-th index F(k) of the Transform of an N
  34.      sample sequence f(i) is equal to:
  35.           F(k) = Sum ( W^(i*k) * f(i) ), for i =0, ..., (N-1)
  36.                W = exp( (Sign*2*sqrt(-1)*PI) / N )
  37.  
  38.  
  39.      The Fourier transforms are computed in-place so the input sequence is
  40.      overwritten by the Fourier transform output. As the input sequences have
  41.      real values, only half of the results are computed since the (N-k)-th
  42.      sample of the transform would be the conjugate of the k-th sample.
  43.  
  44.      However, some extra space is necessary. For an N sample input sequence,
  45.      the complex output of the transform takes ((N+2)/2) complex values.  This
  46.      represents either N+1(odd case) or N+2(even case) real values, that's one
  47.      or two more real values than the input.
  48.  
  49.  
  50. PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRRSSSS
  51.      SSSSIIIIGGGGNNNN Integer specifying which sign to be used for the expression of W
  52.      (see above) - must be either +1 or -1.  Unchanged on exit.
  53.  
  54.      NNNN Integer, the number of samples in each sequence.  Unchanged on exit.
  55.  
  56.      PPPP Integer, the number of sequences.  Unchanged on exit.
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. ssssccccffffffffttttmmmm1111dddduuuu,,,,ddddzzzzffffffffttttmmmm1111dddduuuu((((3333FFFF))))                                ssssccccffffffffttttmmmm1111dddduuuu,,,,ddddzzzzffffffffttttmmmm1111dddduuuu((((3333FFFF))))
  71.  
  72.  
  73.  
  74.      AAAARRRRRRRRAAAAYYYY Array containing the samples of the sequence to be transformed.
  75.      On input, the element "i" of the sequence "j" is stored as A(i*inc,j) in
  76.      _F_o_r_t_r_a_n , and A[i*inc+j*lda] in _C.
  77.      On exit, the array is overwritten by its transform.
  78.  
  79.      IIIINNNNCCCC Integer, increment between two consecutive elements of a sequence.
  80.      Unchanged on exit.
  81.  
  82.      LLLLDDDDAAAA Integer, leading dimension: increment between the first samples of
  83.      two consecutive sequences.  Unchanged on exit.
  84.  
  85.      CCCCOOOOEEEEFFFFFFFF Array of at least ( N + 15 ) elements.  On entry it contains the
  86.      Sines/Cosines and factorization of N. COEFF needs to be initialized with
  87.      a call to scfftm1dui or dzfftm1dui.  Unchanged on exit.
  88.  
  89.  
  90. EEEExxxxaaaammmmpppplllleeee ooooffff CCCCaaaalllllllliiiinnnngggg SSSSeeeeqqqquuuueeeennnncccceeee
  91.      1D FFTs computed on 64 sequences of 1024 real values each. The elements
  92.      of each sequence are stored with increment (stride) 1, and the offset
  93.      between the first element of two succesive sequence (leading dimension)
  94.      is 1026.
  95.      Note : 1026 >= 1024+2 .
  96.      _F_o_r_t_r_a_n
  97.           real array(0:1026-1,0:64-1), coeff(1024+15)
  98.           call scfftm1dui( 1024, coeff)
  99.           call scfftm1du( -1, 1024, 64, array, 1, 1026, coeff)
  100.  
  101.      _C
  102.           #include <fft.h>
  103.           float array[64*1026], *coeff;
  104.           coeff = scfftm1dui( 1024, NULL);
  105.           scfftm1du( -1, 1024, 64, array, 1, 1026, coeff);
  106.  
  107. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  108.      fft, scfftm1dui, dzfftm1dui, scfft1du, dzfft1du, csfftm1du, zdfftm1du
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.